﻿using GPainter.Data;

namespace GPainter.Interfaces
{
    public interface IEdgeData
    {
       string Id { get; set; }//идентификатор ребра
       string SourceNode { get; set; }//вершина-источник
       string TargetNode { get; set; }//вершина-цель
       string EdgeText { get; set; }//текст над дугой
       string StartEdgeText { get; set; } //подпись над начальной вершиной
       string EndEdgeText { get; set; }  //подпись над конечной вершиной
       bool ArrowHeadAtSource { get; set; }//есть ли стрелка над вершиной-источником
       bool ArrowHeadAtTarget { get; set; }//есть ли стрелка над вершиной-целью
       EdgeType Curve { get; set; }//форма дуги
       Point[] Points { get; set; }//точки изломов
       string EdgeClass { get; set; }//имя класса пользовательской дуги
       void EdgeConstructor(string id, string sNode, string tEdge, string text,
           bool hasOnSource,bool hasOnTarget,EdgeType curve,string eClass);//конструктор ребра
       bool IsTop { get; set; }//вверху и внизу рисовать для параллельных дуг
       double RadX { set; get; } //для параллельных дуг радиус по X
       int RadY { set; get; } //для параллельных дуг радиус по Y
       

        //TODO не забыть потом про точки изломов
    }
}
